﻿
namespace block_explorer
{
    class InputCommand
    {
        public enum Command
        {
            MoveForward,
            MoveLeft,
            MoveRight,
            MoveBackward,
            MoveUp,
            MoveDown,
            BlockPick,
            BlockPlace
        }

        public enum ContinuousEvent
        {
            Start,
            Stop,
            NonContinuous
        }

        private Command mCommand;
        private ContinuousEvent mEvent;

        public Command Type { get { return mCommand; } }
        public ContinuousEvent Event { get { return mEvent; } }
        public bool Continuous { get { return mEvent != ContinuousEvent.NonContinuous; } }

        public InputCommand(Command command)
        {
            mCommand = command;
            mEvent = ContinuousEvent.NonContinuous;
        }

        public InputCommand(Command command, ContinuousEvent evt)
        {
            mCommand = command;
            mEvent = evt;
        }
    }
}
